home *** CD-ROM | disk | FTP | other *** search
- #ifndef __DEBUGWRITE__
- #define __DEBUGWRITE__
- #pragma once
-
- #ifndef __AEDATAMODEL__
- #include <AEDataModel.h>
- #endif
-
- enum DebugAction
- {
- kDebugWrite = 0,
- kDebugWriteNewline = 0x01,
- kDebugWriteFlush = 0x02,
- kDebugWriteLn = 0x03, // normally we will flush
- kDebugBreak = 0x04,
- kDebugWriteLnBreak = 0x07
- };
-
- typedef void (*DebugWriteProcPtr)(const void* data, Size size, DebugAction action);
-
- extern void StdDebugWriteProc(const void* data, Size size, DebugAction action);
-
- DebugWriteProcPtr GetDebugWriteProc();
- DebugWriteProcPtr SetDebugWriteProc(DebugWriteProcPtr newProc);
-
- void DebugWritePtr(const void* data, Size size, DebugAction action = kDebugWrite);
- void DebugWriteLn(const unsigned char* str, bool breakToDebugger = false);
-
- void DebugWriteErr(long osstatus, DebugAction action = kDebugWrite);
- void DebugWriteNum(long num, DebugAction action = kDebugWrite);
- void DebugWriteHex(long num, DebugAction action = kDebugWrite);
- void DebugWriteType(OSType type, DebugAction action = kDebugWrite);
- void DebugWrite(const unsigned char* str, DebugAction action = kDebugWrite);
- void DebugWrite(const char* str, DebugAction action = kDebugWrite);
- void DebugWriteAE(const AEDesc* desc, DebugAction action = kDebugWrite);
-
- void DebugWriteAddress(const void* addr, DebugAction action = kDebugWrite);
- void DebugWriteTypeAtAddress(const char* type, const void* addr, DebugAction action = kDebugWrite);
-
- #endif __DEBUGWRITE__
-